import { generateUUIDv4, getRandomElement } from "./index"

function randomName() {
  // 姓氏数组
  const firstNames = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许', '何', '吕', '施', '张', '孔', '曹', '严', '华', '金', '魏', '陶', '姜', '戚', '谢', '邹', '喻', '柏', '水', '窦', '章', '云', '苏', '潘', '葛', '奚', '范', '彭', '郎', '鲁', '韦', '昌', '马', '苗', '凤', '花', '方', '俞', '任', '袁', '柳', '酆', '鲍', '史', '唐', '费', '廉', '岑', '薛', '雷', '贺', '倪', '汤', '滕', '殷', '罗', '毕', '郝', '邬', '安', '常', '乐', '于', '时', '傅', '皮', '卞', '齐', '康', '伍', '余', '元', '顾', '孟', '平', '黄', '和', '穆', '萧', '尹', '欧阳', '慕容']
  // 名字数组
  const lastNames = ['伟', '芳', '娜', '秀英', '敏', '静', '丽', '强', '磊', '军', '洋', '勇', '艳', '杰', '娟', '涛', '明', '超', '秀兰', '霞', '平', '刚', '桂英', '桂芳', '建国', '建华', '美丽', '国强', '文娟', '文华', '晓华', '晓燕', '冬梅', '秀华', '心', '小红', '小明', '红', '燕', '芬', '敏', '青', '金', '玲', '翔', '莉', '敏', '燕', '敏', '杰']

  return getRandomElement(firstNames) + getRandomElement(lastNames)
}

// 随机生产手机号函数
function randomPhone() {
  const phonePrefix = ['130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '147', '150', '151', '152', '153', '155', '156', '157', '158', '159', '186', '187', '188', '189']
  return getRandomElement(phonePrefix) + Math.random().toString().slice(2, 11)
}
// s随机生成邮箱函数
function randomEmail() {
  const emailSuffix = ['@qq.com', '@163.com', '@126.com', '@sina.com', '@sohu.com', '@gmail.com', '@hotmail.com', '@yahoo.com']
  return Math.random().toString().slice(2, 10) + getRandomElement(emailSuffix)
}
// 随机生产账号函数
function randomAccount() {
  const accountPrefix = ['admin', 'user', 'test', 'root', 'super']
  const role = getRandomElement(accountPrefix)
  return [role + Math.random().toString().slice(2, 10), role]
}

export function getuserlist(params) {
  const { pageSize = 10, pageNo = 1 } = params
  return Array(pageSize).fill().map((i, index) => {
    const xh = (pageNo - 1) * pageSize + (index + 1)
    const [account, role] = randomAccount()
    return {
      role,
      account,
      index: xh,
      id: generateUUIDv4(),
      name: randomName(),
      phone: randomPhone(),
      email: randomEmail(),
      sex: getRandomElement([1, 2]),
      state: getRandomElement([0, 1, 2, 3, 4]),
      creatData: '2022-01-01 22:22:22'
    }
  })
}